package cn.com.nes.site.modules.sale.bo;

import cn.com.nes.site.modules.sale.enums.SaleTypeEnum;
import cn.com.nes.site.service.crm.clue.bo.ClueBO;
import cn.com.nes.site.service.crm.customer.bo.CustomerBO;
import cn.com.nes.site.service.crm.opportunity.bo.OpportunityBO;
import cn.com.nes.site.service.crm.order.bo.SaleOrderBO;
import cn.hutool.core.util.ObjectUtil;
import lombok.Data;
import lombok.extern.slf4j.Slf4j;

@Slf4j
@Data
public class SaleBO {

    /**
     * 销售类别：0-零售销售，1-企业销售，2-政府销售
     */
    private SaleTypeEnum saleType;

    /**
     * 标记是否需要处理Excel导入的标识。
     * 当此属性为 {@code true} 时，表示该销售业务对象需要进行Excel导入相关的处理。
     */
    private boolean handleForExcelImport = false;

    // 线索业务对象 clueBO
    private ClueBO clueBO;

    // 客户业务对象 customerBO
    private CustomerBO customerBO;

    // 商机业务对象 opptunityBO
    private OpportunityBO opptunityBO;

    // 销售单业务对象 saleOrderBO
    private SaleOrderBO saleOrderBO;

    // 安装光伏
    private Boolean installPhotovoltaic;

    public Boolean isHandleSpecificSale() {
        log.debug("判定是否需要特定的销售业务处理...");
        if (ObjectUtil.isNotNull(installPhotovoltaic) && installPhotovoltaic) {
            return true;
        }
        return false;
    }
}
